
set -l prog docker
set -l subcmds 'images rmi pull push save load run pause unpause stop start rm exec logs ps volume build'

complete -c $prog -f



lyt-defcmd-root $prog $subcmds
lyt-defcmd-root-1 $prog exec $subcmds 'format: docker exec [flg] <containerName> <cmd>'
lyt-defcmd-root-1 $prog ps $subcmds 'inspect containers'
lyt-defcmd-root-1 $prog build $subcmds 'build new image form Dockerfile'


# pull #############################################################################
set -l subcmds 'nginx redis rabbitmq mongo'

lyt-defcmd $prog pull $subcmds



# run #############################################################################
lyt-defcmd-sl $prog run n name  'spec name of container'
lyt-defcmd-s $prog run p  'spec port mapping of container. FORMAT: <vm port>:<host port>'
lyt-defcmd-s $prog run d  'run container as daemon'
lyt-defcmd-s $prog run v  'spec volume FORMAT: <volume_name / host_path>:<vm path>'
lyt-defcmd-sl $prog run e env 'spec env variable. FORMAT <name>=<value>'
lyt-defcmd-l $prog run workdir 'spec the pwd when enter container'


# exec ########################################################################
lyt-defcmd-s $prog exec i  'using stdin to container'
lyt-defcmd-s $prog exec t  'using terminal to container'

# containers
set -l subcmds '(docker ps | sed 1d;s/.*\s//)'
lyt-defcmd $prog exec $subcmds



# ps #########################################################################
lyt-defcmd-s $prog ps a  'inspect container in all states'


# rm ##########################################################################
lyt-defcmd-s $prog rm f  'remove container forcely'


# volumn ######################################################################
set -l subcmds 'create inspect ls prune rm'

lyt-defcmd $prog volume $subcmds


# build #######################################################
lyt-defcmd-s $prog build t  'spec image name. FORMAT: <name>:<tag>'
